import {observable, computed, action} from 'mobx';

/**
 * 订单模块的Store（状态管理器）
 */
export default class Order {
  //@observable修饰器用来声明需要观察的属性。当该属性变化后，对应的View也会刷新。
  @observable dataList = [];

  //@observable修饰器用来声明计算属性。当被计算的属性变化时，该属性也会自动变化。
  @computed get dataListLength() {
    return this.dataList.length;
  }

  //@observable修饰器用来声明action：用来修改state。严格模式下，只能通过action来修改state。
  @action addData = (value) => {
    this.dataList.push(value);
  };
  @action deleteData = (index) => {
    this.dataList.splice(index, 1);
  };
}
